package com.songtech.store.bean;

import com.songtech.base.common.TranslationValues;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "t_store")
public class Store extends TranslationValues {
    /**
     * 主键
     */
    @Id
    private String id;

    /**
     * 设备标识码
     */
    @Column(name = "imei")
    private String imei;


    /**
     * 厂商编号（t_pro_dic表id）
     */
    @Column(name = "company_code")
    private String companyCode;

    /**
     * 产品名称编号（t_pro_dic表id）
     */
    @Column(name = "product_code")
    private String productCode;

    /**
     * 产品型号（t_pro_dic表id）
     */
    @Column(name = "model_number")
    private String modelNumber;

    /**
     * 出库人
     */
    @Column(name = "out_person")
    private String outPerson;

    /**
     * 入库人
     */
    @Column(name = "in_person")
    private String inPerson;

    /**
     * 出库时间
     */
    @Column(name = "out_time")
    private Date outTime;

    /**
     * 入库时间
     */
    @Column(name = "in_time")
    private Date inTime;

    /**
     * 出库单价
     */
    @Column(name = "out_unit_price")
    private BigDecimal outUnitPrice;

    /**
     * 入库单价
     */
    @Column(name = "in_unit_price")
    private BigDecimal inUnitPrice;

    /**
     * 收货人
     */
    private String consignee;

    /**
     * 收货地址
     */
    private String address;


    /**
     * 收货人电话
     */
    private String phone;

    /**
     * 销售渠道
     */
    @Column(name = "sale_channel")
    private String saleChannel;

    /**
     * 销售地区编号
     */
    @Column(name = "sale_region")
    private String saleRegion;

    /**
     * 仓库所在地编号
     */
    @Column(name = "store_region")
    private String storeRegion;

    /**
     * 备注
     */
    private String remark;

    /**
     * 启停状态，0表示停用，1表示启用,默认0
     */
    @Column(name = "Is_run")
    private String isRun;

    /**
     * 出入库状态，0表示入库，1表示出库,默认为0
     */
    private String status;

    /**
     * 是否删除，0表示正常，1表示删除，默认为0
     */
    @Column(name = "Is_delete")
    private String isDelete;

    @Transient
    private int allDeviceNum;

    @Transient
    private int outDeviceNum;

    /**
     * 获取主键
     *
     * @return id - 主键
     */
    public String getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(String id) {
        this.id = id;
    }


    /**
     * 获取厂商编号（t_pro_dic表id）
     *
     * @return company_code - 厂商编号（t_pro_dic表id）
     */
    public String getCompanyCode() {
        return companyCode;
    }

    /**
     * 设置厂商编号（t_pro_dic表id）
     *
     * @param companyCode 厂商编号（t_pro_dic表id）
     */
    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    /**
     * 获取产品名称编号（t_pro_dic表id）
     *
     * @return product_code - 产品名称编号（t_pro_dic表id）
     */
    public String getProductCode() {
        return productCode;
    }

    /**
     * 设置产品名称编号（t_pro_dic表id）
     *
     * @param productCode 产品名称编号（t_pro_dic表id）
     */
    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    /**
     * 获取产品型号（t_pro_dic表id）
     *
     * @return model_number - 产品型号（t_pro_dic表id）
     */
    public String getModelNumber() {
        return modelNumber;
    }

    /**
     * 设置产品型号（t_pro_dic表id）
     *
     * @param modelNumber 产品型号（t_pro_dic表id）
     */
    public void setModelNumber(String modelNumber) {
        this.modelNumber = modelNumber;
    }

    /**
     * 获取出库人
     *
     * @return out_person - 出库人
     */
    public String getOutPerson() {
        return outPerson;
    }

    /**
     * 设置出库人
     *
     * @param outPerson 出库人
     */
    public void setOutPerson(String outPerson) {
        this.outPerson = outPerson == null ? null : outPerson.trim();
    }

    /**
     * 获取入库人
     *
     * @return in_person - 入库人
     */
    public String getInPerson() {
        return inPerson;
    }

    /**
     * 设置入库人
     *
     * @param inPerson 入库人
     */
    public void setInPerson(String inPerson) {
        this.inPerson = inPerson == null ? null : inPerson.trim();
    }

    /**
     * 获取出库时间
     *
     * @return out_time - 出库时间
     */
    public Date getOutTime() {
        return outTime;
    }

    /**
     * 设置出库时间
     *
     * @param outTime 出库时间
     */
    public void setOutTime(Date outTime) {
        this.outTime = outTime;
    }

    /**
     * 获取入库时间
     *
     * @return in_time - 入库时间
     */
    public Date getInTime() {
        return inTime;
    }

    /**
     * 设置入库时间
     *
     * @param inTime 入库时间
     */
    public void setInTime(Date inTime) {
        this.inTime = inTime;
    }

    /**
     * 获取出库单价
     *
     * @return out_unit_price - 出库单价
     */
    public BigDecimal getOutUnitPrice() {
        return outUnitPrice;
    }

    /**
     * 设置出库单价
     *
     * @param outUnitPrice 出库单价
     */
    public void setOutUnitPrice(BigDecimal outUnitPrice) {
        this.outUnitPrice = outUnitPrice;
    }

    /**
     * 获取入库单价
     *
     * @return in_unit_price - 入库单价
     */
    public BigDecimal getInUnitPrice() {
        return inUnitPrice;
    }

    /**
     * 设置入库单价
     *
     * @param inUnitPrice 入库单价
     */
    public void setInUnitPrice(BigDecimal inUnitPrice) {
        this.inUnitPrice = inUnitPrice;
    }

    /**
     * 获取收货人
     *
     * @return consignee - 收货人
     */
    public String getConsignee() {
        return consignee;
    }

    /**
     * 设置收货人
     *
     * @param consignee 收货人
     */
    public void setConsignee(String consignee) {
        this.consignee = consignee == null ? null : consignee.trim();
    }

    /**
     * 获取收货地址
     *
     * @return address - 收货地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置收货地址
     *
     * @param address 收货地址
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    /**
     * 获取收货人电话
     *
     * @return phone - 收货人电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置收货人电话
     *
     * @param phone 收货人电话
     */
    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    /**
     * 获取销售渠道
     *
     * @return sale_channel - 销售渠道
     */
    public String getSaleChannel() {
        return saleChannel;
    }

    /**
     * 设置销售渠道
     *
     * @param saleChannel 销售渠道
     */
    public void setSaleChannel(String saleChannel) {
        this.saleChannel = saleChannel == null ? null : saleChannel.trim();
    }

    /**
     * 获取销售地区编号
     *
     * @return sale_region - 销售地区编号
     */
    public String getSaleRegion() {
        return saleRegion;
    }

    /**
     * 设置销售地区编号
     *
     * @param saleRegion 销售地区编号
     */
    public void setSaleRegion(String saleRegion) {
        this.saleRegion = saleRegion;
    }

    /**
     * 获取仓库所在地编号
     *
     * @return store_region - 仓库所在地编号
     */
    public String getStoreRegion() {
        return storeRegion;
    }

    /**
     * 设置仓库所在地编号
     *
     * @param storeRegion 仓库所在地编号
     */
    public void setStoreRegion(String storeRegion) {
        this.storeRegion = storeRegion;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 获取启停状态，0表示停用，1表示启用,默认0
     *
     * @return Is_run - 启停状态，0表示停用，1表示启用,默认0
     */
    public String getIsRun() {
        return isRun;
    }

    /**
     * 设置启停状态，0表示停用，1表示启用,默认0
     *
     * @param isRun 启停状态，0表示停用，1表示启用,默认0
     */
    public void setIsRun(String isRun) {
        this.isRun = isRun;
    }

    /**
     * 获取出入库状态，0表示入库，1表示出库,默认为0
     *
     * @return status - 出入库状态，0表示入库，1表示出库,默认为0
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置出入库状态，0表示入库，1表示出库,默认为0
     *
     * @param status 出入库状态，0表示入库，1表示出库,默认为0
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取是否删除，0表示正常，1表示删除，默认为0
     *
     * @return Is_delete - 是否删除，0表示正常，1表示删除，默认为0
     */
    public String getIsDelete() {
        return isDelete;
    }

    /**
     * 设置是否删除，0表示正常，1表示删除，默认为0
     *
     * @param isDelete 是否删除，0表示正常，1表示删除，默认为0
     */
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }


    public int getAllDeviceNum() {
        return allDeviceNum;
    }

    public void setAllDeviceNum(int allDeviceNum) {
        this.allDeviceNum = allDeviceNum;
    }

    public int getOutDeviceNum() {
        return outDeviceNum;
    }

    public void setOutDeviceNum(int outDeviceNum) {
        this.outDeviceNum = outDeviceNum;
    }
}